﻿
using Uniforax.Core.Common;
using Uniforax.Core.Common.Battle;
using Uniforax.Core.GameObjects;

namespace Uniforax.Core.WorldFramework
{
    public class Grid
    {
        public PosId PosId { get; set; }

        private List<BaseGameObject> GameObjects { get; set; }

        public IEnumerable<BaseGameObject> GetGameObjects()
        {
            return null;
        }

        public void PlaceObject(BaseGameObject gameObject)
        {

        }

        public BaseGameObject GetPlacedObject(string objectId)
        {
            return null;
        }

        public void RemovePlacedObject(BaseGameObject gameObject)
        {

        }

        public virtual void OnGameObjectLeave(ActionContext context, GameObjectLeaveGridMovementContext moveContext)
        {

        }

        public virtual void OnGameObjectPlaced(ActionContext context, GameObjectPlaceGridMovementContext moveContext)
        {

        }

        public virtual void OnGameObjectEnter(ActionContext context, GameObjectEnterGridMovementContext moveContext)
        {

        }

        public virtual void OnUnderAttack(ActionContext context, AttackContext attackContext)
        {

        }
    }
}
